#ifndef _DTH_FILEHANDLE_H
#define _DTH_FILEHANDLE_H

#include <string>

namespace linuxSys{

int32_t save_file_without_sync(const std::string& rel_path, char *data, int32_t length);
int32_t save_file(const std::string& rel_path, char *data, int32_t length);
int32_t get_file(const std::string& rel_path, char *data, int32_t& length);
int32_t delete_file(const std::string& rel_path);
int32_t delete_dir(const std::string& dirname);
int32_t get_file_length(const std::string& rel_path, int32_t &length);

/* 
 * 判断是否是目录 
 * @ 是目录返回1，是普通文件返回0，出错返回-1 
 * */  
int32_t IsDir(const std::string& path);

/* 
 * 创建目录 
 * @ 可以创建多级目录，失败返回-1 
 * */  
int32_t CreateDir(const std::string& path);

/* 
 * 拷贝文件 
 * @ @dstpath -- 可以是文件名也可以是目录名 
 * */ 
int32_t FileCopy(const std::string& srcpath, const std::string& dstpath);
int32_t DirCopy(const std::string& srcpath, const std::string& dstpath);  

/* 
 * 如果  oldFile 比 newFile 修改时间新，返回1，否则返回0
 * 打开文件错误返回 -1;
 * */ 
int32_t compareFileAmendTime(const std::string& oldFile ,const std::string& newFile);
int32_t compareFileSize(const std::string& bigSizeFile ,const std::string& smallSizeFile);
};
#endif
